package com.ass.elasticsearch.page;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.dromara.easyes.core.biz.SAPageInfo;

import javax.validation.constraints.Min;
import java.util.Collections;

@Getter
@Setter
public class EsSearchAfterInput {


    @Min(1)
    @ApiModelProperty(value = "每页条目数")
    private Integer size;

    @ApiModelProperty(value = "当前页的最后一行数据的id 如果是第一页的化话就传null，" +
            "第二页的时候 就把第一页返回的 nextSearchAfter 原样传进去")
    private String nextSearchAfter;

    //这个可传也可以不传
    @ApiModelProperty(value = "当前这页是从哪里开始查的；第一页传 null，后续传上一页的nextSearchAfter,除了第一页第二页开始nextSearchAfter是啥传啥")
    private String searchAfter;

    //TODO 跳页 不太支持



    public final  <T> SAPageInfo<T> getSAPageInfo() {
        SAPageInfo<T> saPageInfo = new SAPageInfo();
        saPageInfo.setNextSearchAfter(nextSearchAfter==null?null:Collections.singletonList(nextSearchAfter));
        saPageInfo.setSearchAfter(searchAfter==null?null:Collections.singletonList(searchAfter));
        saPageInfo.setPageSize(size);
        return saPageInfo;
    }


}
